package com.enjava.web;

import java.util.Date;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;

import com.enjava.ComentarioChat;

@Controller
@Scope(value="request")
public class ControladorChat {

//	@Autowired
//	ServicioUsuariosConectadosChat servicioUsuariosConectadosChat;
//	
//	@Autowired
//	ServicioComentariosChat servicioComentarios;
	
	@Autowired
	BeanContexto beanContexto;
	
	@Autowired
	BeanSession beanSession;
	
	
	@RequestMapping("/chat")
	public String saluda(Model model){
		
		
		model.addAttribute("comentarios",beanContexto.servicioComentarios.recuperarComentarios() );
		model.addAttribute("usuariosConectados", beanContexto.servicioUsuariosConectadosChat.getUsuarios());
		System.out.println(beanContexto.servicioComentarios.recuperarComentarios());
		
		return "chatPrincipal";
	}
	
	@RequestMapping(value = "/mensajeRecibido", method = RequestMethod.GET)
	public String comentarioRecibido(@RequestParam("mensaje") String texto, Model model) {
	
		ComentarioChat comentario = new ComentarioChat(new Date(), texto, null);
		beanContexto.servicioComentarios.guardarComentario(comentario);
		model.addAttribute("comentarios",beanContexto.servicioComentarios.recuperarComentarios() );
		model.addAttribute("usuariosConectados", beanContexto.servicioUsuariosConectadosChat.getUsuarios());

		return "chatPrincipal";
	}
	
	
}
